Формування цифрового підпису згідно стандарту DSS.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2006
Тип роботи:
Лабораторна робота
Предмет:
Проектування комп’ютерних засобів захисту
Група:
КСМ-5

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЕОМ Звіт з лабораторної роботи №2 Формування цифрового підпису згідно стандарту DSS Виконала: ст. гр. КСМ-5 Львів – 2006 Мета роботи: реалізувати демонстраційну програму формування цифрового підпису вхідного повідомлення згідно стандарту DSS. Теоретичні відомості Відправник і отримувач електронного документа використовують при обчисленні великі цілі числа:  EMBED Equation.3  і  EMBED Equation.3  – прості числа,  EMBED Equation.3  біт кожне  EMBED Equation.3 ;  EMBED Equation.3  – просте число довжиною 160 розрядів (дільник числа EMBED Equation.3 ). Числа  EMBED Equation.3 ,  EMBED Equation.3 ,  EMBED Equation.3  є відкритими і можуть бути спільними для всіх користувачів мережі. Відправник вибирає випадкове ціле число  EMBED Equation.3 ( EMBED Equation.3 ). Число  EMBED Equation.3  – секретний ключ відправника для формування електронного цифрового підпису. Наступним кроком відправник обчислює значення  EMBED Equation.3 . Число  EMBED Equation.3  – відкритий ключ для перевірки підпису відправника. Це число передається всім отримувачам документів. Для того, щоб підписати документ  EMBED Equation.3 , відправник хешує його в ціле хеш-значення  EMBED Equation.3 :  EMBED Equation.3 , після цього відправник генерує випадкове ціле число  EMBED Equation.3  при умові, що  EMBED Equation.3 , і обчислює число  EMBED Equation.3 :  EMBED Equation.3 . Обчисливши число  EMBED Equation.3  відправник обчислює за допомогою секретного ключа  EMBED Equation.3  ціле число  EMBED Equation.3 :  EMBED Equation.3 . Пара чисел  EMBED Equation.3  і  EMBED Equation.3  утворюють цифровий підпис  EMBED Equation.3  під документом  EMBED Equation.3 . Таким чином, підписане повідомлення складається з трьох чисел  EMBED Equation.3 . Отримувач підписаного повідомлення  EMBED Equation.3  перевіряє виконання умов  EMBED Equation.3 ,  EMBED Equation.3  і відкидає підпис, якщо хоча б одна з умов не виконується. Потім отримувач обчислює значення  EMBED Equation.3 , хеш-значення  EMBED Equation.3  і числа  EMBED Equation.3  Після цього отримувач за допомогою відкритого ключа  EMBED Equation.3  обчислює значення  EMBED Equation.3  і перевіряє виконання умови  EMBED Equation.3 . Якщо умова  EMBED Equation.3  виконується, тоді підпис  EMBED Equation.3  під документом  EMBED Equation.3  визнається отримувачем як справжній. Можна строго математично довести , що рівність  EMBED Equation.3  буде виконуватися тоді і тільки тоді, коли підпис  EMBED Equation.3  під документом  EMBED Equation.3  отриманий за допомогою того секретного ключа  EMBED Equation.3 , з якого був обчислений відкритий ключ  EMBED Equation.3 . Таким чином, можна твердо переконатися , що відправник повідомлення володіє даним секретним ключом  EMBED Equation.3  (не розкриваючи при цьому значення ключа  EMBED Equation.3 ) і що відправник підписав даний документ  EMBED Equation.3 . Лістинг програми # include <stdio.h> # include <conio.h> # include <math.h> # include <stdlib.h> int N=200;char text[200];unsigned short h[4];unsigned long h_e;int text_l;unsigned long p;unsigned long q;unsigned long g;unsigned long k_ a;unsigned long x;unsigned long r;unsigned long s;unsigned long y;int h_g;long easy[10000];int E=10000; void take_string(void){int i; printf("Please write string to signature.\n"); scanf("%s",text);for(i=0;i<N;i++)if(text[i]!='\0') text_l++;else i=N; } void take_H (void){ int i; int j; if((text_l%4)!=0){i=4-(text_l%4);for(j=text_l;j<text_l+i;j++) text[j]=0;text[j]='\0';} for(i=0;i<4;i++)for(j=0;j<text_l;j+=4){h[i]=h[i]^text[j+i];} h_e=(unsigned long)h[0]<<24|(unsigned long)h[1]<<16|(un...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини